home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Science / RLaB / misc / ANNOUNCE < prev    next >
Text File  |  1994-04-25  |  6KB  |  180 lines

  1.      ** RLaB Version 0.50 Available
  2.  
  3.     Rlab is a "MATLAB-like" matrix-oriented programming
  4.     language/toolbox. Rlab has been in a closed alpha test for 5
  5.     months, and is now available to all who are interested. 
  6.  
  7.      ** Description:
  8.  
  9.     Rlab is _not_ a clone of languages such as those used by tools
  10.     like MATLAB # or matrix_X/Xmath ##. However, as Rlab focuses
  11.     on creating a good experimental environment (or laboratory) in
  12.     which to do matrix math, it can be called "MATLAB-like" since
  13.     its programming language possesses similar operators and
  14.     concepts. Extensive use has been made of the LAPACK, FFTPACK
  15.     and RANLIB sources available from netlib.
  16.  
  17.     The most significant difference between the other proprietary
  18.     tools and RLaB is the GNU Copyleft.
  19.  
  20.     Currently Rlab has numeric scalars and matrices (real and
  21.     complex), and string scalars, and matrices. Rlab also contains
  22.     a list variable type, which is a heterogeneous associative
  23.     array.
  24.  
  25.     A set of built-in functions is provided, as well as a
  26.     capability to write your own functions in the Rlab language.
  27.     The language contains IF, FOR, and WHILE flow control
  28.     constructs, and a set of arithmetic, relational, and logical
  29.     operators.
  30.  
  31.     The following is a list of the currently available functions:
  32.  
  33.     abs       cross     ifft      mini      reshape   system    
  34.     acos      det       imag      mod       round     tan       
  35.     all       diag      inf       name      scalar    tanh      
  36.     any       diary     int       nan       show      tic       
  37.     asin      eig       inv       norm      sign      toc       
  38.     atan      epsilon   linspace  ode23     sin       trace     
  39.     atan2     error     load      ones      sinh      tril      
  40.     balance   exp       log       pinv      size      triu      
  41.     ceil      eye       log10     plot      solve     type      
  42.     chol      fft       logspace  printf    sort      what      
  43.     class     find      lu        qr        sprintf   who       
  44.     clear     floor     matrix    rand      sqrt      write     
  45.     close     format    max       rank      srand     writem    
  46.     compan    fprintf   maxi      rcond     std       zeros     
  47.     conj      getline   mean      read      strsplt             
  48.     cos       hess      members   readm     sum                 
  49.     cosh      hilb      min       real      svd                 
  50.  
  51.     The following is an example of an Rlab function:
  52.  
  53.     //
  54.     // Modified Gram-Schmidt
  55.     // Given A (MxN), with rank(A) = N. The following algorithm computes
  56.     // the factorization A = Q*R (skinny QR) where Q (MxN) has orthonormal
  57.     // columns and R (NxN) is upper triangular
  58.     //
  59.     // Algorithm from MATRIX Computations, 
  60.     // G.H. Golub, C.F. Van Loan (page 219)
  61.     // 
  62.     
  63.     mgs = function(A)
  64.     {
  65.       local(a,k,j,n,m,q,r);
  66.     
  67.       a = A;            // args passed by reference
  68.       m = a.nr;
  69.       n = a.nc;
  70.       for(k in 1:n)
  71.         {
  72.           r[k;k] = norm( a[1:m;k], "2" );
  73.           q[1:m;k] = a[1:m;k]/r[k;k];
  74.           for(j in 1:n)
  75.         {
  76.           r[k;j] = q[1:m;k]' * a[1:m;j];
  77.               a[1:m;j] = a[1:m;j] - q[1:m;k] * r[k;j];
  78.             }
  79.          }
  80.       return << q = q; r = r >>;    // return a list
  81.     }
  82.     
  83.      ** Documentation:
  84.  
  85.     1) The RLaB Primer is designed to get you started as a new
  86.     user of RLaB. It covers the steps necessary to run RLaB,
  87.     describes data types and operations, discusses programming
  88.     constructs and the organization of your code, and introduces
  89.     plotting. A quick reference section of available functions is
  90.     also included. Files: latex source, tex dvi, and postscript.
  91.  
  92.     2) The RLaB Reference Manual contains a set of "railroad"
  93.     diagrams describing the language (like the pascal texts always
  94.     include).
  95.  
  96.     The RLaB primer and Reference Manual will be available
  97.     shortly. If you "register" with ians@eskimo.com, you will be
  98.     notified when they are ready.
  99.  
  100.     3) On-line help is present, and evolving (that is what you say
  101.     when something can only get better :-)
  102.  
  103.      ** Implementation:
  104.  
  105.     RLaB is written in C. Although ANSI-C features have been used,
  106.     they can be turned off. RLaB has been compiled with Sun's
  107.     non-ANSI cc. The goal is, and will continue to be, to make
  108.     RLaB as portable as possible.
  109.  
  110.     LAPACK, FFTPACK, and RANLIB Fortran libraries are used.
  111.     Currently f2c'ed versions of these libraries are available. It
  112.     is possible to use native Fortran libraries. In the future the
  113.     choice of Fortran, or f2c will be selectable during configure.
  114.     For the time being all that is needed is a C compiler, and the
  115.     f2c libraries (available from netlib).
  116.  
  117.     GNUPLOT 3.x is used to handle the crude interactive plotting.
  118.  
  119.     Users are expected to obtain: GNUPLOT (prep.ai.mit.edu),
  120.     libI77.a libF77.a (from the f2c distribution,
  121.     research.att.com) themselves.
  122.  
  123.     Rlab has been ported to: SVR4 (i386)
  124.                  DECstation 3100 (Ultrix 4.x)
  125.                  Sun 4 (Sun OS-4.x)
  126.                  IBM RS/6000 (?)
  127.                  SGI
  128.                  HP-9000/720 (HP-UX 8.05)
  129.                  Titan P3000 (Sys Vr3.?/BSD)
  130.                  OS/2 *
  131.                  AMIGA-DOS *
  132.  
  133.     * Testers have compiled it on these platforms, but changes
  134.     have not been integrated into the source distribution.
  135.  
  136.      ** Current Status:
  137.  
  138.     Even though Rlab has been through an alpha test, I still
  139.     consider it alpha software (I hope my standards are on the
  140.     strict side). However, it should not be long before we can
  141.     safely label it beta-software.
  142.  
  143.      ** Bug Reports:
  144.  
  145.     Send bug reports, comments, complaints, suggestions, or
  146.     whatever to: ians@eskimo.com. Please include a script which
  147.     exercises the bug, along with a description of the hardware
  148.     and software platform.
  149.  
  150.      ** Acknowledgements:
  151.  
  152.     I would like to thank Phillip Musumeci and Brad Hards for
  153.     volunteering to do the bulk of the documentation.
  154.  
  155.     I would like to thank Mike Brennan and Scott Hunziker and Dave
  156.     Wilson. I would also like to acknowledge the alpha testers who
  157.     have made invaluable contributions.
  158.  
  159.      ** Where to get it:
  160.  
  161.     ftp-site: evans.ee.adfa.oz.au    
  162.           in: /pub/alpha/RLaB
  163.  
  164.     The minimum set of files to get is:
  165.         rlab-0.50.tar.Z
  166.         rblas.tar.Z        BLAS library
  167.         rlap-0.30.tar.Z     LAPACK library
  168.         rfft-0.11.tar.Z        FFTPACK library
  169.         rnlib-0.11.tar.Z    RANLIB library
  170.  
  171.     Please try and get the sources during non prime time hours.
  172.  
  173.     Enjoy...
  174.  
  175.     Ian Searle
  176.     ians@eskimo.com
  177.  
  178.     #    MATLAB is a trademark of The Math Works.
  179.     ##     matrix_X and Xmath are trademarks of I.S.I.
  180.